// 插件导出的是一个对象, 必须提供install方法
import PageTools from './PageTools'
import UploadExcelComponent from './UploadExcel'
import UploadImage from './UploadImage'
import WorkCalendar from './WorkCalendar'
import Radar from './Radar'
import ScreenFull from './ScreenFull'
import ThemePicker from './ThemePicker'
import Lang from './Lang'
import TagsView from './TagsView'
export default {
  // 只要Vue.use   install 函数中代码会自动执行
  install(Vue) {
    Vue.component('PageTools', PageTools)
    Vue.component('UploadExcelComponent', UploadExcelComponent)
    Vue.component('UploadImage', UploadImage)
    Vue.component('WorkCalendar', WorkCalendar)
    Vue.component('Radar', Radar)
    Vue.component('ThemePicker', ThemePicker)
    Vue.component('ScreenFull', ScreenFull)
    Vue.component('Lang', Lang)
    Vue.component('TagsView', TagsView)
    // Vue.directive(xxx)
    // Vue.filter(xxx)
  }
}

// 插件导出的是一个函数, 这个函数会别当做install方法
// export default function() {}

// Vue的插件机制是啥?
// 其实核心就是install函数
// 如果导出的是一个对象, 提供install函数 如果导出的是一个函数,被当做install方法
// install方法中, 不仅可以注册组件, 自定义指令  过滤器注册 都可以
